Period determination of a periodic NRZ signal

ABSTRACT

A method and apparatus for determining the period T p  of a signal representing a digitally modulated waveform using NRZ coding with a discrete/integer number of a clock periods between signal transitions, where a periodic sequence of logic “1s” and logic “0s” is transmitted, is disclosed. The method comprises the steps of sampling an input periodic signal, constructing an estimate of the autocorrelation sequence r k  of the sequence of samples, constructing a sequence of peaks p k , and computing the period T p  to be the time between the first p k  sample (k=0), and the time location of the maximum value of p k  based on the known T s  spacing of the p k  sequence samples.

CLAIM FOR PRIORITY

The subject application claims priority from U.S. Provisional PatentApplication Ser. No. 60/574,524, entitled PERIOD DETERMINATION OF APERIODIC NRZ SIGNAL, (Dan Onu), filed May 25, 2004 and assigned to thesame assignee as the subject application.

FIELD OF THE INVENTION

The subject invention generally concerns measurement of a characteristicof a signal acquired by a test and measurement instrument, andspecifically concerns determination of the period of a periodic NRZsignal acquired by a test and measurement instrument, such as anoscilloscope, or the like.

BACKGROUND OF THE INVENTION

The Alliance for Telecommunication Industry Solutions (ATIS) defines“non-return-to-zero (NRZ)” to be a code in which logic “1s” arerepresented by one “significant condition” and logic “0s” arerepresented by another, with no neutral or rest condition, such as azero amplitude in amplitude modulation (AM), zero phase shift inphase-shift-keying (PSK), or mid-frequency in frequency-shift-keying(FSK). The term “significant condition” is defined as follows. In themodulation of a carrier, “significant condition” is one of the values ofthe signal parameter chosen to represent information. Examples of“significant conditions” are an electrical current, voltage, or powerlevel; an optical power level; a phase value; or a frequency orwavelength chosen to represent a “0” or a “1”; or a “mark” or a “space.”The duration of a significant condition is the time interval betweensuccessive “significant instants”.

Significant conditions are recognized by an appropriate device. Each“significant instant” is determined when the appropriate device assumesa condition or state usable for performing a specific function, such asrecording, processing, or gating. A change from one significantcondition to another is called a “signal transition”.

For a given data signaling rate (i.e., bit rate) the NRZ code requiresonly one-half the bandwidth required by the well-known “ManchesterCode”. One skilled in the art will recognize that the Manchester Code isa code in which (a) data and clock signals are combined to form a singleself-synchronizing data stream, (b) each encoded bit contains atransition at the midpoint of a bit period, (c) the direction oftransition determines whether the bit is a “0” or a “1,” and (d) thefirst half is the true bit value and the second half is the complementof the true bit value.

The process of varying one or more parameters of a carrier wave as afunction of two or more finite and discrete states of a signal is knownas digital modulation. It is the process by which some characteristic(frequency, phase, amplitude, or combinations thereof) of a carrierfrequency is varied in accordance with a digital signal, for example, adigital signal consisting of coded pulses or states.

One particular class of digital modulation employing NRZ is the one forwhich the time between signal transitions is a multiple of the embeddedclock period. There are many practical and theoretical approaches ofthis sort to transmitting information. In such implementations theinformation data is transmitted or retrieved without any additionaltiming reference. Examples include the high-frequency waveforms foroptical storage (CD/DVD), serial data communications standards(Infiniband, PCI Express), and many others. In some of these cases theinformation is contained in the timing between signal transitions (as inoptical storage CD/DVD signals), in some others the information iscontained in the amplitude of the signal between the signal transitions,and so on.

The salient feature of digital modulation using NRZ with integer numbersof clock periods between signal transitions is that for each clockperiod there is exactly one logic “1” or logic “0” bit of informationassociated with each clock period time length of decoded signal.Therefore, a major step in decoding these types of digital modulationsignals is the recovery of the embedded clock, or the determination ofthe period of the embedded clock. The complexity of this task is greatlyreduced if the period of the NRZ signal is first known.

SUMMARY OF THE INVENTION

The subject invention is a method and an apparatus using that method fordetermining the period T_(p) of a signal representing a digitallymodulated waveform using NRZ coding with a discrete/integer number of aclock periods between signal transitions, where a periodic sequence oflogic “1s” and logic “0s” is transmitted. The method comprises the stepsof sampling an input periodic signal, constructing an estimate of theautocorrelation sequence r_(k) of the sequence of samples, constructingthe sequence ${p_{k} = \frac{r_{k} - r_{k/2}}{r_{0} - r_{k/2}}},$and computing the period T_(p) to be the time between the first p_(k)sample (k=0), and the location of the maximum value of p_(k) based onthe known T_(s) spacing of the p_(k) sequence samples.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 is a screenshot of an oscilloscope useful for understanding theinvention.

FIG. 2 is another screenshot of an oscilloscope useful for understandingthe invention.

FIG. 3 is yet another screenshot of an oscilloscope useful forunderstanding the invention.

FIG. 4 is a flowchart useful for understanding the invention.

FIG. 5 shows, in simplified block diagram form, an oscilloscope suitablefor use with the invention for performing the calculations of theflowchart of FIG. 4, and displaying the screenshots of FIGS. 1-3.

DESCRIPTION OF THE EMBODIMENTS

The subject invention will be described with reference to FIGS. 1-4.This invention describes an approach to determining the period T_(p) ofa signal representing a digitally modulated waveform using NRZ codingwith a discrete/integer number of a clock periods between signaltransitions, where a periodic sequence of logic “1s” and logic “0s” istransmitted.

The specific steps of the subject invention are presented in thefollowing. For clarity of the description, the signal x(t) will bereferred to using the usual discrete time notations, as a sequence,where x_(k)=x(t_(k)), where t_(k)=n*T_(s), T_(s) being the sampleinterval of the signal x(t). However, the same procedure can be followedwhen processing the signal x(t) using an analogue approach, and thedescription would mainly change from references to “sequence” toreferences to “function”.

Referring to the flowchart of FIG. 4, a software routine for practicingthe invention is entered at step 400 and advances to step 410 wherein aninput signal is sampled, for example, by a digital oscilloscope, in aprocess known as signal acquisition. Let x_(k), k=1:N, be the samples ofthe signal. In step 420, the routine constructs an estimate of theautocorrelation sequence r_(k) of the sequence x_(k). There are severalapproaches that can be used for this step; the invention does not dependon the specific one used. Some possible approaches are listed below, butit is to be understood that the subject invention is not limited tothese two implementations or variants of them:

-   -   a. Compute        ${r_{k} = {\frac{1}{N}{\sum\limits_{i = 1}^{N}{x_{i}x_{i + k}}}}},$    -   for k=0:(N−1), where x_(j)=0 for j<1 or j>N. Note: the procedure        is not dependent on the scaling/normalization of the        autocorrelation sequence at this point.    -   b. Compute the Fourier transform sequence X_(k) (using Discrete        Fourier Transform (DFT) or not) of x_(k), square the magnitude        of the values of X_(k) point-by-point to obtain the sequence of        power spectral density S_(k) of x_(k), and then compute the        inverse Fourier Transform (using IDFT or not) of S_(k) to obtain        the sequence r_(k).

In step 430, based on the sequence r_(k), the routine constructs thesequence $p_{k} = {\frac{r_{k} - r_{k/2}}{r_{0} - r_{k/2}}.}$For odd values of k the value of r_(k/2) can be estimated using varioustechniques, starting from averaging based on adjacent r_(k) samples tomore elaborate interpolation techniques. Any of these techniques may beused in step 430, and all are to be considered within the scope of theinvention.

Advancing to step 440, the routine computes the period T_(p) as the timebetween the first p_(k) sample (k=0), and the location of the maximumvalue of p_(k) based upon the known T_(s) spacing of the p_(k) sequencesamples. Interpolation or extrapolation might be used to either estimatethe peak position more accurately or to predict it.

A brief, and perhaps more intuitive, explanation of the proposedinvention is described with reference to FIGS. 1-3. The particularsignal in this case is the voltage amplitude of an electrical signalthat is characteristic to some serial communication standards. Thissignal was digitally sampled with a Tektronix TDS oscilloscope,manufactured by Tektronix, Inc., Beaverton, Oreg. The signal is an NRZsignal, encoding “1s” and “0s’, with the significant condition being thevoltage of the signal within a time interval equal to the clock period.The clock is embedded in the signal and there should be an integernumber of clock periods between signal transitions.

FIG. 1 is a screenshot of an oscilloscope showing a serial datacommunication periodic NRZ signal, 20 bits per period. FIG. 1 depictssome small portion of the periodic NRZ signal. It is obviously not easyto estimate the period of the signal even for this relatively simplecase of 20 bits (“1s” and “0s”).

FIG. 2 is a screenshot of an oscilloscope showing autocorrelation of aserial data communication periodic NRZ signal, 20 bits per period. FIG.2 depicts a portion of an autocorrelation of the signal of FIG. 1.Because the signal is finite-time (i.e., it has zero values outside somefinite time window) the autocorrelation peaks at integer multiples ofthe signal period (k*T_(p)), with decreasing values as k increases (fork>0).

The subject invention recognizes that the first peak for k>0 in FIG. 2is located at the point t* where${f\left( t^{*} \right)} = \frac{{r\left( t^{*} \right)} - {r\left( {t^{*}/2} \right)}}{{r(0)} - {r\left( {t^{*}/2} \right)}}$is maximum. In FIG. 2, we have r(0)=r(t_(A)), r(t*/2)=r(t_(B)),r(t*)=r(t_(C)). This method eliminates false peaks like the ones labeledD and E in FIG. 2.

FIG. 3 is a screenshot of an oscilloscope showing a function dependentupon the autocorrelation of a serial data communication periodic NRZsignal, 20 bits per period, peaking at a time location equal to thesignal period. Specifically, the function f(t), for the signal of FIG.1, is depicted in FIG. 3. For this new function, which is dependent onthe autocorrelation function, there exists a global maximum locatedexactly at the signal period.

It is important to note that the autocorrelation does not generallyachieve the minimum, especially in practical cases, at r(t*/2). Thus,examining the signal for the first/global minimum location is not validfor estimating T_(p)/2. For example, for sequences generated with PRBSpolynomials, that autocorrelation value is in the noise floor, and suchan estimate of the time location is inaccurate.

FIG. 5 shows in simplified block-diagram form, an oscilloscope 500suitable for use with the subject invention. An acquisition unit 510receives a signal under test (SUT) and digitizes (i.e., samples) thesignal and stores the samples in a waveform memory 520. A processor 540processes the waveform data samples and displays them on a display unit530. Processor 540 has an associated memory 550 for storing programinstructions, such as the instructions for performing the method hereindescribed.

What has been described is a novel method for determining the period ofa periodic non-return-to-zero (NRZ) signal. One skilled in the art willrecognize that one advantageous use of the subject invention is indetermining the period of an NRZ input signal as a first step in a clockrecovery technique.

It is to be understood that the foregoing description has been presentedby way of example only, and that the scope of the subject invention islimited only by the following claims.

1. A method for determining the period of a periodic non-return-to-zerosignal, the method comprising the steps of: sampling said periodicno-return-to-zero signal at a predetermined sample rate having apredetermined sample interval; constructing an estimate of anautocorrelation sequence of said samples; constructing a sequence ofpeaks based upon said autocorrelation estimate; and computing saidperiod of said periodic non-return-to-zero signal as the intervalbetween a time location of a first peak of said sequence of peaks and atime location of a peak having a maximum value with respect to otherpeaks based upon said predetermined sample interval.
 2. The method ifclaim 1 wherein, said sequence of samples is X(k)=X(T_(k)) where saidpredetermined sample interval is T_(s), and T_(k)=n* T_(s).
 3. Themethod if claim 2 wherein, said step of constructing an estimateincludes the step of: computing${r_{k} = {\frac{1}{N}{\sum\limits_{i = 1}^{N}{x_{i}x_{i + k}}}}},$ fork=0:(N−1), where x_(j)=0 for j<1 or j>N.
 4. The method of claim 3,wherein the step of constructing a sequence of peaks, comprises the stepof: constructing a sequence${p_{k} = \frac{r_{k} - r_{k/2}}{r_{0} - r_{k/2}}},$ wherein odd valuesof k the value of r_(k/2) are estimated by averaging based on adjacentr_(k) samples.
 5. The method of claim 4 wherein the computing stepcomprises: computing a period T_(p) as a time between a first p_(k)sample (k=0), and a time of a maximum value of p_(k) based upon saidT_(s) spacing of said p_(k) sequence samples.
 6. The method of claim 3,wherein the step of constructing a sequence of peaks, comprises the stepof: constructing a sequence${p_{k} = \frac{r_{k} - r_{k/2}}{r_{0} - r_{k/2}}},$ wherein odd valuesof k the value of r_(k/2) are estimated using interpolation.
 7. Themethod of claim 6 wherein the computing step comprises: computing aperiod T_(p) as a time between a first p_(k) sample (k=0), and a time ofa maximum value of p_(k) based upon said T_(s) spacing of said p_(k)sequence samples.
 8. The method of claim 2 wherein, said step ofconstructing an estimate includes the steps of: computing a Fouriertransform sequence X_(k) of x_(k); squaring magnitudes of values ofX_(k) point-by-point to obtain a sequence of power spectral densityS_(k) of x_(k); and computing an inverse Fourier Transform of S_(k) toobtain a sequence r_(k).
 9. The method of claim 8, wherein the step ofconstructing a sequence of peaks, comprises the step of: constructing asequence ${p_{k} = \frac{r_{k} - r_{k/2}}{r_{0} - r_{k/2}}},$ whereinodd values of k the value of r_(k/2) are estimated by averaging based onadjacent r_(k) samples.
 10. The method of claim 9 wherein the computingstep comprises: computing a period T_(p) as a time between a first p_(k)sample (k=0), and a time of a maximum value of p_(k) based upon saidT_(s) spacing of said p_(k) sequence samples.
 11. The method of claim 8,wherein the step of constructing a sequence of peaks, comprises the stepof: constructing a sequence${p_{k} = \frac{r_{k} - r_{k/2}}{r_{0} - r_{k/2}}},$ wherein odd valuesof k the value of r_(k/2) are estimated using interpolation.
 12. Themethod of claim 11 wherein the computing step comprises: computing aperiod T_(p) as a time between a first p_(k) sample (k=0), and a time ofa maximum value of p_(k) based upon said T_(s) spacing of said p_(k)sequence samples.
 13. An oscilloscope having a program determining theperiod of a periodic non-return-to-zero signal, comprising: anacquisition circuit sampling said periodic no-return-to-zero signal at apredetermined sample rate having a predetermined sample interval; awaveform memory for storing said samples; a memory for storing saidprogram; a processor constructing an estimate of an autocorrelationsequence of said samples; said processor constructing a sequence ofpeaks based upon said autocorrelation estimate; said processor computingsaid period of said periodic non-return-to-zero signal as the intervalbetween a time location of a first peak of said sequence of peaks and atime location of a peak having a maximum value with respect to otherpeaks based upon said predetermined sample interval; and a displayscreen; wherein at least one of said autocorrelation, said estimate, andsaid sequence of peaks is displayed on said display screen.
 14. Theoscilloscope of claim 13 wherein, said sequence of samples isX(k)=X(T_(k)) where said predetermined sample interval is T_(s), andT_(k)=n* T_(s).
 15. The oscilloscope of claim 14 wherein, said processorconstructs said estimate by computing${r_{k} = {\frac{1}{N}{\sum\limits_{i = 1}^{N}{x_{i}x_{i + k}}}}},$ fork=0:(N−1), where x_(j)=0 for j<1 or j>N.
 16. The oscilloscope of claim15 wherein, said processor constructs said sequence of peaks byconstructing a sequence${p_{k} = \frac{r_{k} - r_{k/2}}{r_{0} - r_{k/2}}},$ wherein odd valuesof k the value of r_(k/2) are estimated by averaging based on adjacentr_(k) samples.
 17. The oscilloscope of claim 16 wherein, said processorcomputes a period T_(p) as a time between a first p_(k) sample (k=0),and a time of a maximum value of p_(k) based upon said T_(s) spacing ofsaid p_(k) sequence samples.
 18. The oscilloscope of claim 15 wherein,said processor constructs said sequence of peaks by constructing asequence ${p_{k} = \frac{r_{k} - r_{k/2}}{r_{0} - r_{k/2}}},$ whereinodd values of k the value of r_(k/2) are estimated using interpolation.19. The oscilloscope of claim 18 wherein, said processor computes aperiod T_(p) as a time between a first p_(k) sample (k=0), and a time ofa maximum value of p_(k) based upon said T_(s) spacing of said p_(k)sequence samples.
 20. The oscilloscope of claim 14 wherein, saidprocessor constructs said estimate includes by computing a Fouriertransform sequence X_(k) of x_(k); squaring magnitudes of values ofX_(k) point-by-point to obtain a sequence of power spectral densityS_(k) of x_(k); and computing an inverse Fourier Transform of S_(k) toobtain a sequence r_(k).
 21. The oscilloscope of claim 17 wherein, saidprocessor constructs said sequence of peaks by constructing a sequence${p_{k} = \frac{r_{k} - r_{k/2}}{r_{0} - r_{k/2}}},$ wherein odd valuesof k the value of r_(k/2) are estimated by averaging based on adjacentr_(k) samples.
 22. The oscilloscope of claim 21 wherein, said processorcomputes a period T_(p) as a time between a first p_(k) sample (k=0),and a time of a maximum value of p_(k) based upon said T_(s) spacing ofsaid p_(k) sequence samples.
 23. The oscilloscope of claim 17 wherein,said processor constructs said sequence of peaks by constructing asequence ${p_{k} = \frac{r_{k} - r_{k/2}}{r_{0} - r_{k/2}}},$ whereinodd values of k the value of r_(k/2) are estimated using interpolation.24. The oscilloscope of claim 23 wherein, said processor computes aperiod T_(p) as a time between a first p_(k) sample (k=0), and a time ofa maximum value of p_(k) based upon said T_(s) spacing of said p_(k)sequence samples.